package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntityPlus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 商城订单对象 web_mall_user_order
 * 
 * @author wsliupan@126.com
 * @date 2021-06-17
 */
@ApiModel("商城订单对象")
public class WebMallUserOrder extends BaseEntityPlus
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID" )
    @NotNull(message = "用户ID")
    private Long userId;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty(value = "订单号" )
    @NotNull(message = "订单号")
    private String orderNo;

    /** 支付号 */
    @Excel(name = "支付号")
    @ApiModelProperty(value = "支付号" , hidden = true )
    private String payNo;

    /** 订单数量 */
    @Excel(name = "订单数量")
    @ApiModelProperty(value = "订单数量" )
    @NotNull(message = "订单数量")
    private Long orderSum;

    /** 邮费 */
    @Excel(name = "邮费")
    @ApiModelProperty(value = "邮费" )
    @NotNull(message = "邮费")
    private BigDecimal orderCost;

    /** 订单总额(不含邮费) */
    @Excel(name = "订单总额(不含邮费)")
    @ApiModelProperty(value = "订单总额(不含邮费)" )
    @NotNull(message = "订单总额(不含邮费)")
    private BigDecimal orderAmount;

    /** 支付金额 */
    @Excel(name = "支付金额")
    @ApiModelProperty(value = "支付金额" , hidden = true )
    private BigDecimal payMoney;

    /** 待付款金额 */
    @Excel(name = "待付款金额")
    @ApiModelProperty(value = "待付款金额")
    private BigDecimal waitPayMoney;

    /** 订单状态1待付款2待发货3已删除4交易关闭5退款 6待收货 7待评价 100完成 */
    @Excel(name = "订单状态1待付款2待发货3已删除4交易关闭5退款 6待收货 7待评价 100完成")
    @ApiModelProperty(value = "订单状态1待付款2待发货3已删除4交易关闭5退款 6待收货 7待评价 100完成" )
    @NotNull(message = "订单状态1待付款2待发货3已删除4交易关闭5退款 6待收货 7待评价 100完成")
    private Long orderStatus;

    /** 支付状态1未支付2已支付 */
    @Excel(name = "支付状态1未支付2已支付")
    @ApiModelProperty(value = "支付状态1未支付2已支付" )
    @NotNull(message = "支付状态1未支付2已支付")
    private Long payStatus;

    /** 退款状态0未申请1已申请2成功3失败 */
    @Excel(name = "退款状态0未申请1已申请2成功3失败")
    @ApiModelProperty(value = "退款状态0未申请1已申请2成功3失败" )
    @NotNull(message = "退款状态0未申请1已申请2成功3失败")
    private Long returnStatus;
    @Excel(name = "用户昵称")
    @TableField(exist = false)
    @ApiModelProperty(value = "用户昵称" ,hidden = true)
    private String nickname;

    /** 订单联系人 */
    @Excel(name = "订单联系人")
    @ApiModelProperty(value = "订单联系人")
    private String orderLinkName;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    @ApiModelProperty(value = "联系人电话" )
    private String orderLinkMobile;

    /** 联系人地址 */
    @Excel(name = "联系人地址")
    @ApiModelProperty(value = "联系人地址")
    private String orderlLinkAddress;

    /** 快递单号 */
    @Excel(name = "快递单号")
    @ApiModelProperty(value = "快递单号" )
    private String expressNo;

    /** 快递公司 */
    @Excel(name = "快递公司")
    @ApiModelProperty(value = "快递公司")
    private String expressName;

    /** 订单类型1商品订单 2积分转换订单 3线下订单 */
    @Excel(name = "订单类型1商品订单 2积分转换订单 3线下订单")
    @ApiModelProperty(value = "订单类型1商品订单 2积分转换订单 3线下订单" , hidden = true )
    private Long orderType;

    /** 展示图片 */
    @Excel(name = "展示图片")
    @ApiModelProperty(value = "展示图片" , hidden = true )
    private String img;

    /** 第三方支付成功后返回的订单号 */
    @Excel(name = "第三方支付成功后返回的订单号")
    @ApiModelProperty(value = "第三方支付成功后返回的订单号" , hidden = true )
    private String tradeNo;

    /** 支付时间 */
    @Excel(name = "支付时间")
    @ApiModelProperty(value = "支付时间" , hidden = true )
    private String payTime;

    /** 使用了多少积分 */
    @Excel(name = "使用了多少积分")
    @ApiModelProperty(value = "使用了多少积分" , hidden = true )
    private BigDecimal useScoreSum;

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    private String comment;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setPayNo(String payNo) 
    {
        this.payNo = payNo;
    }

    public String getPayNo() 
    {
        return payNo;
    }
    public void setOrderSum(Long orderSum) 
    {
        this.orderSum = orderSum;
    }

    public Long getOrderSum() 
    {
        return orderSum;
    }
    public void setOrderCost(BigDecimal orderCost)
    {
        this.orderCost = orderCost;
    }

    public BigDecimal getOrderCost()
    {
        return orderCost;
    }
    public void setOrderAmount(BigDecimal orderAmount)
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount()
    {
        return orderAmount;
    }
    public void setPayMoney(BigDecimal payMoney)
    {
        this.payMoney = payMoney;
    }

    public BigDecimal getPayMoney()
    {
        return payMoney;
    }
    public void setWaitPayMoney(BigDecimal waitPayMoney)
    {
        this.waitPayMoney = waitPayMoney;
    }

    public BigDecimal getWaitPayMoney()
    {
        return waitPayMoney;
    }
    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }
    public void setPayStatus(Long payStatus) 
    {
        this.payStatus = payStatus;
    }

    public Long getPayStatus() 
    {
        return payStatus;
    }
    public void setReturnStatus(Long returnStatus) 
    {
        this.returnStatus = returnStatus;
    }

    public Long getReturnStatus() 
    {
        return returnStatus;
    }
    public void setOrderLinkName(String orderLinkName) 
    {
        this.orderLinkName = orderLinkName;
    }

    public String getOrderLinkName() 
    {
        return orderLinkName;
    }
    public void setOrderLinkMobile(String orderLinkMobile) 
    {
        this.orderLinkMobile = orderLinkMobile;
    }

    public String getOrderLinkMobile() 
    {
        return orderLinkMobile;
    }
    public void setOrderlLinkAddress(String orderlLinkAddress) 
    {
        this.orderlLinkAddress = orderlLinkAddress;
    }

    public String getOrderlLinkAddress() 
    {
        return orderlLinkAddress;
    }
    public void setExpressNo(String expressNo) 
    {
        this.expressNo = expressNo;
    }

    public String getExpressNo() 
    {
        return expressNo;
    }
    public void setExpressName(String expressName) 
    {
        this.expressName = expressName;
    }

    public String getExpressName() 
    {
        return expressName;
    }
    public void setOrderType(Long orderType) 
    {
        this.orderType = orderType;
    }

    public Long getOrderType() 
    {
        return orderType;
    }
    public void setImg(String img) 
    {
        this.img = img;
    }

    public String getImg() 
    {
        return img;
    }
    public void setTradeNo(String tradeNo) 
    {
        this.tradeNo = tradeNo;
    }

    public String getTradeNo() 
    {
        return tradeNo;
    }
    public void setPayTime(String payTime) 
    {
        this.payTime = payTime;
    }

    public String getPayTime() 
    {
        return payTime;
    }

    public BigDecimal getUseScoreSum() {
        return useScoreSum;
    }

    public void setUseScoreSum(BigDecimal useScoreSum) {
        this.useScoreSum = useScoreSum;
    }
}
